﻿using System;
using System.Collections.Generic;
using Informant.Contacts;

namespace Informant.Clients.DataProviders
{
	public class RetrieveGroupsEventArgs : EventArgs
	{
		private static RetrieveGroupsEventArgs _empty;

		/// <summary>
		/// Initializes a new instance of the <see cref="RetrieveGroupsEventArgs"/> class.
		/// </summary>
		/// <param name="groups">The groups.</param>
		public RetrieveGroupsEventArgs(IEnumerable<IGroup> groups)
		{
			Groups = groups;
		}

		/// <summary>
		/// Gets the empty.
		/// </summary>
		/// <value>The empty.</value>
		public new RetrieveGroupsEventArgs Empty
		{
			get
			{
				if (_empty == null)
				{
					_empty = new RetrieveGroupsEventArgs(null);
				}
				return _empty;
			}
		}
		/// <summary>
		/// Gets or sets the groups.
		/// </summary>
		/// <value>The groups.</value>
		public IEnumerable<IGroup> Groups { get; private set; }
	}
}
